package co.edu.javeriana.konigsberg.xavier.dao;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

public abstract class DAO<E> implements Serializable{
	private static final long serialVersionUID = 1L;
	
	@PersistenceContext(unitName="Xavier-ejb")
	protected EntityManager em;
	
	public DAO (){
	    
	}
	
	public abstract List<E> obtenerLista();
	
	public abstract List<E> obtenerListaPorPadre(BigInteger idPadre);
	
	public abstract E obtenerPorId(BigInteger id);
	
	public abstract void guardar(E e);
	
	public abstract void actualizar(E e);
	
	

}
